S3
S3 provides developers and IT teams with secure, durable, highly scalable object storage. Amazon S3 is easy to use with a simple web services interfaces to store and retrieve any amount of data from anywhere on the web.
So what is S3?
- S3 is a safe place to store your files.
- It is Object-based storage.
- Spread through multiple devices and multiple facilities.
The basics of S3 are as follows;
- S3 is Object-based - i.e. allows you to upload files.
- Files can be from 0 Bytes to 5 TB.
- There is unlimited storage.
Files are stored in Buckets (basically folders)
-
S3 is a universal namespace That is names must be unique globally.
When you upload a files to S3, you will receive a HTTP 200 Code if the upload has been successful
S3 is objected based. Think of Objects just as files.
Objects consist of the following
- Key (This is simply the name of the object)
- Value (This is simply the data and is made up of a sequence of bytes).
- Version ID (Important for versioning)
- Does version control ( go to previous version)
- Metadata (Data about the data you are storing)
- Sub-resources
- Access Control Lists
- Torrent
How does data consistency work for S3?
- Read after Write consistency for PUTS of new Objects
- Eventual consistency for overwrite Puts and DELETES (can take some time to propagate)
In Other Words;
- If you write a NEW file and read it immediately afterwards, you will be able to view that data.
- If you update an "EXISTING file** or delete a file and read it immediately, you may get the older version. Basically changes to objects and take a little bit of time to propagate.
S3 has the following guarantees from Amazon;
- Build for 99.99% availability for the S3 platform.
- Amazon Guarantee 99.9% availability.
- Amazon guarantees 11x98s durability of information.
S3 has the following features;
- Tiered Storage Available
- Lifecycle Management
- Versioning
- Encryption
- MFA Delete (Multi Factor Authentication)
- Secure your data using Access Control Lists and Bucket Policies
Storage classes
- S3 Standard
99.99% availability
11x9 durability,
stored redundantly accoess multiple devices in multiple facilities, and is designer to sustain the loss of 2 facilities concurrently.
S3 - IA (Infrequently Accessed):
For data that is accessed less frequently, but requires rapid access when needed. Lower free than S3, but you are charged a retrieval fee
S3 One Zone - IA
For where you want a lower-cost option for infrequently access data,
but do not require the multiple Availability Zone data resilience.
S3 - Intelligent Tiering
Designed to optimize costs by automatically moving data to the most cost-effective access tier, without performance impact or operational overhead
S3 Glacier
S3 Glacier is a secure, durable, and low-cost stoarge class for data archiving. You can reliably store any amount of data at costs that are competitve with or cheaper than on-premises solutions. Retreival times configurable from minutes to hours.
S3 Glacier Deep Archieve
S3 Glacier Deep ARchieve is Amazon S3's lowest-cost stoage class where a retrieval time fo 12hours is acceptable.
You are charged for S3 in the following ways;
- Storage
- Requests
- Storage Management Pricing
- Data Transfer Pricing
- Transfer Acceleration
- Cross Region Replication
Cross Region Replication
- Something you can turn on thats for copying data over multiple regions
Transfer Acceleration
- Amazon S3 Transfer Acceleration enables fast, easy, and secure transfers of files over long distances between your end users and an S3 bucket.
- Transfer Acceleration takes advantage of Amazon CloudFront's globally distributed edge locations. As the data arrives at an edge location, data is route to Amazon S3 over an optimizied network path.
Exam Tips
- Remember that S3 is Object-based: i.e. allows you to upload files.
- Files can be from 0 Bytes to 5TB.
- There is unlimited storage.
-
S3 is a universal namespace. That is, names must be unique globally.
- Not suitable to install an operation system on.
- Successful uploads will generate a HTTP 200 statuscode.
- You can turn on MFA Delete (Protect your objects)
The Key Fundamentals of S3 Are;
- Key (This is simply the name of the object)
- Value (This is simply the data and is made up of a sequence of bytes).
- Verion ID (Important for versioning)
- Metadata (Data about data you are storing)
- Subresources;
- Access Control Lists (Permissions of that object)
- Torrent
- Read after Write consistency for PUTS of new Objects.
- Eventual Consistency for overwrite PUTS and DELETES (can take some time to propagate)